home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 52
/
Amiga Format AFCD52 (Issue 136, May 2000).iso
/
-serious-
/
workbench
/
directoryopus4
/
dopus4_src
/
program
/
screendata.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-11
|
12KB
|
262 lines
/*
Directory Opus 4
Original GPL release version 4.12
Copyright 1993-2000 Jonathan Potter
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
All users of Directory Opus 4 (including versions distributed
under the GPL) are entitled to upgrade to the latest version of
Directory Opus version 5 at a reduced price. Please see
http://www.gpsoft.com.au for more information.
The release of Directory Opus 4 under the GPL in NO WAY affects
the existing commercial status of Directory Opus 5.
*/
#ifndef DOPUS_SCREEN_DATA
#define DOPUS_SCREEN_DATA
/* Definitions of any data that relates to the Screen display. Includes
TextAttrs, NewScreen structures and TagItems, and various global data */
#include "dopus.h"
/* TextAttr structures */
extern struct TextAttr
main_screen_attr, /* Main screen font */
screen_attr, /* General screen font */
menu_attr; /* Menu font */
/* Screen tag lists */
extern UWORD scr_drawinfo[NUMDRIPENS+1]; /* Pen lists */
extern struct TagItem
mainscreen_tags[], /* Tags for the main screen */
stdscreen_tags[], /* Tags for a standard HIRES screen */
mainwindow_tags[]; /* Tags for the main window */
/* NewScreen structures */
extern struct ExtNewScreen
main_scr, /* Main screen */
font_scr, /* Font screen */
blank_scr; /* Blank screen */
/* NewWindow structures */
extern struct ExtNewWindow
main_win; /* Main window */
extern struct NewWindow
font_win, /* Font window */
disk_win; /* DiskInfo window */
extern struct NewWindow icon_win; /* Iconified window */
extern struct AppWindow *dopus_appwindow; /* AppWindow when on Workbench screen */
/* Definitions for the custom menus */
extern struct Menu menu_menus[5]; /* Custom menus */
extern struct MenuItem *menu_menuitem; /* Custom menu items */
extern struct IntuiText *menu_intuitext; /* IntuiText for custom menu items */
extern char *menu_itemnames; /* Names of the menu items */
extern char menu_spaceitemnames[5][80]; /* Space background of menu items */
extern UBYTE menu_real_number[5]; /* The real ordinal number of each menu */
/* Internal Screen Data */
extern struct ColourTable screen_pens[16]; /* Colour pen table */
extern USHORT scrdata_norm_width; /* Normal width of the display */
extern USHORT scrdata_norm_height; /* Normal height of the display */
extern USHORT scrdata_scr_height; /* Main screen/window height */
extern USHORT scrdata_dispwin_lines; /* Number of lines in each window */
extern USHORT scrdata_dispwin_width[2]; /* Displayed width in each window */
extern USHORT scrdata_dispwin_height; /* Height of directory windows */
extern USHORT scrdata_dispwin_nchars[2]; /* Width of each window in characters */
extern USHORT scrdata_dispwin_ypos; /* Y-Position of directory windows */
extern USHORT scrdata_dispwin_left[2]; /* Left edge of directory windows */
extern USHORT scrdata_dispwin_xpos[2]; /* Left edge of text in windows */
extern USHORT scrdata_dispwin_center; /* Center of the two windows */
extern USHORT scrdata_dirwin_xpos[2]; /* Rendered X-Position of each window */
extern USHORT scrdata_dirwin_ypos[2]; /* Rendered Y-Position of each window */
extern USHORT scrdata_dirwin_width[2]; /* Rendered width of each window */
extern USHORT scrdata_dirwin_height; /* Rendered height of directory windows */
extern USHORT scrdata_dirwin_bottom; /* Rendered bottom of each window */
extern USHORT scrdata_dirwin_center; /* Rendered center of the two windows */
extern USHORT scrdata_drive_width; /* Width of the drive gadgets */
extern USHORT scrdata_gadget_offset; /* X-Offset of entire gadget display */
extern USHORT scrdata_gadget_xpos; /* X-Position of the custom gadgets */
extern USHORT scrdata_gadget_ypos; /* Y-Position of the custom gadgets */
extern USHORT scrdata_gadget_width; /* Width of the custom gadgets */
extern USHORT scrdata_gadget_height; /* Height of the custom gadgets */
extern USHORT scrdata_clock_width; /* Width of the clock bar */
extern USHORT scrdata_clock_height; /* Height of the clock bar */
extern USHORT scrdata_clock_xpos; /* x-pos of the clock bar */
extern USHORT scrdata_clock_ypos; /* y-pos of the clock bar */
extern USHORT scrdata_status_xpos; /* X-Position of the status bar */
extern USHORT scrdata_status_ypos; /* Y-Position of the status bar */
extern USHORT scrdata_status_width; /* Width of the status bar */
extern USHORT scrdata_status_height; /* Height of the status bar */
extern USHORT scrdata_diskname_width[2]; /* Width of each diskname display */
extern USHORT scrdata_diskname_height; /* Height of the diskname displays */
extern USHORT scrdata_diskname_ypos; /* Y-Position of the diskname displays */
extern USHORT scrdata_diskname_xpos[2]; /* X-Position of each diskname display */
extern USHORT scrdata_prop_height; /* Height of the vertical sliders */
extern USHORT scrdata_string_height; /* Height of the path string gadgets */
extern USHORT scrdata_closegad_width; /* Width of the screen close gadget */
extern USHORT scrdata_font_xsize; /* X-Size of the dir window font */
extern USHORT scrdata_font_ysize; /* Y-Size of the dir window font */
extern USHORT scrdata_font_baseline; /* Baseline of the dir window font */
extern UBYTE scrdata_is_pal; /* Indicates PAL or NTSC system */
extern UBYTE scrdata_statustext_pos; /* Status text positioning */
extern LONG scrdata_old_offset_store; /* Stored offset in directory window */
extern USHORT scrdata_xoffset; /* General x-offset */
extern USHORT scrdata_yoffset; /* General y-offset */
extern USHORT scrdata_width; /* Display width */
extern USHORT scrdata_height; /* Display height */
/* Definitions of screen objects */
extern struct PropInfo
vert_propinfo[2], /* Vertical slider PropInfo */
horiz_propinfo[2], /* Horizontal slider PropInfo */
drive_propinfo, /* Drive banks slider PropInfo */
gadget_propinfo; /* Gadget banks slider PropInfo */
extern struct Image
vert_propimage[2], /* Vertical slider Image */
horiz_propimage[2], /* Horizontal slider Image */
drive_propimage, /* Drive banks slider Image */
gadget_propimage; /* Gadget banks slider Image */
extern struct StringExtend string_extend; /* Path fields StringExtension */
extern struct StringExtend requester_stringex; /* Path fields StringExtension */
extern char str_pathbuffer[2][256]; /* Path fields buffers */
extern char str_undobuffer[256]; /* General undo buffer for string gads */
extern struct StringInfo /* Path fields StringInfos */
path_stringinfo[2];
extern struct Gadget
*main_gadgets, /* Custom gadgets */
*drive_gadgets, /* Drive gadgets */
path_strgadget[2], /* Path field gadgets */
vert_propgad[2], /* Vertical slider gadgets */
horiz_propgad[2], /* Horizontal slider gadgets */
drive_propgad, /* Drive banks slider gadget */
gadget_propgad, /* Gadget banks slider gadget */
screen_gadgets[24]; /* General screen gadgets */
extern struct Gadget size_gadgets[];
#define SCRGAD_LEFTSTRING 0
#define SCRGAD_RIGHTSTRING 1
#define SCRGAD_LEFTPARENT 0
#define SCRGAD_RIGHTPARENT 1
#define SCRGAD_TINYBUFFERLIST 2
#define SCRGAD_TINYRESELECT 3
#define SCRGAD_TINYSELECT 4
#define SCRGAD_TINYAREXX 5
#define SCRGAD_TINYHELP 6
#define SCRGAD_TINYERRORHELP 7
#define SCRGAD_TINYFILTER 8
#define SCRGAD_TINYCONFIGURE 9
#define SCRGAD_TINYICONIFY 10
#define SCRGAD_TINYQUIT 11
#define SCRGAD_MOVELEFT1 12
#define SCRGAD_MOVELEFT2 13
#define SCRGAD_MOVERIGHT1 14
#define SCRGAD_MOVERIGHT2 15
#define SCRGAD_MOVEUP1 16
#define SCRGAD_MOVEUP2 17
#define SCRGAD_MOVEDOWN1 18
#define SCRGAD_MOVEDOWN2 19
#define SCRGAD_BUFFERLEFT1 20
#define SCRGAD_BUFFERLEFT2 21
#define SCRGAD_BUFFERRIGHT1 22
#define SCRGAD_BUFFERRIGHT2 23
#define SCRGAD_LEFTPROP 30
#define SCRGAD_RIGHTPROP 31
#define SCRGAD_LEFTHPROP 32
#define SCRGAD_RIGHTHPROP 33
#define SCRGAD_DRIVEPROP 34
#define SCRGAD_GADGETPROP 35
extern struct Gadget iconbutpropgad; /* Button iconify slider */
extern struct RMBGadget
mainrmbgads[7]; /* Screen right mouse button gadgets */
/* Click-M-Click dragging data */
extern struct VSprite drag_sprite; /* VSprite used for dragging */
extern struct Bob drag_bob; /* BOB used for dragging */
extern struct BitMap drag_bob_bitmap; /* Bitmap used to render BOB */
extern struct RastPort drag_bob_rastport; /* Rastport used to render BOB */
extern PLANEPTR drag_bob_buffer; /* BOB buffer */
extern PLANEPTR drag_bob_savebuffer; /* BOB background save buffer */
extern struct GelsInfo drag_gelsinfo; /* GelsInfo structure for BOB */
extern struct VSprite drag_dummy_sprite1; /* Dummy sprite 1 for GELs list */
extern struct VSprite drag_dummy_sprite2; /* Dummy sprite 2 for GELs list */
/* General screen data */
extern struct Rectangle scr_scroll_borders[2]; /* Scroll borders for dir windows */
/* Borders for gadget highlighting */
extern struct DOpusRemember *border_key; /* Memory key for border data */
extern struct Border *gadget_sel_border; /* Borders for main gadgets */
extern struct Border *gadget_unsel_border;
extern struct Border *gadget_dog_sel_border; /* Main gadgets with dog-ears*/
extern struct Border *gadget_dog_unsel_border;
extern struct Border *drive_sel_border; /* Borders for drive gadgets */
extern struct Border *drive_unsel_border;
extern struct Border *drive_bank_sel_border; /* Borders for the drive bank */
extern struct Border *drive_bank_unsel_border;
#define MAIN_GAD_BASE 1000 /* GadgetID base of custom gadgets */
#endif